'''
Created on 18/06/2012

@author: Caio Alves
'''
from publicidades.models import Publicidade
from django.contrib import admin 
from PIL import Image
from settings import MEDIA_ROOT

class PublicidadeAdmin(admin.ModelAdmin):
    search_fields = ['nome']
    date_hierarchy = 'dataEntrada'
    list_filter = ['tipo', 'dataEntrada']
    list_display = ['nome','tipo', 'dataEntrada']
    
    def save_model(self, request, obj, form, change):
        """Metodo declarado para criar miniatura da imagem depois de salvar"""
        super(PublicidadeAdmin, self).save_model(request, obj, form, change)

        if 'imagem' in form.changed_data:
            extensao = obj.imagem.name.split('.')[-1]
            miniatura = Image.open(obj.imagem.path)
            if obj.tipo == 1:
                obj.thumbnail = '/publicidade/thumbnail/%s.%s'%(obj.id, extensao)
                miniatura.thumbnail((620,79), Image.ANTIALIAS)
            else:
                if obj.tipo == 0:
                    obj.thumbnail = '/publicidade/thumbnail/%s.%s'%(obj.id, extensao)
                    miniatura.thumbnail((540,295), Image.ANTIALIAS)
                else:
                    if obj.tipo == 2:
                        obj.thumbnail = '/publicidade/thumbnail/%s.%s'%(obj.id, extensao)
                        miniatura.thumbnail((300,250), Image.ANTIALIAS)
                    else:
                        if obj.tipo == 3:
                            obj.thumbnail = '/publicidade/thumbnail/%s.%s'%(obj.id, extensao)
                            miniatura.thumbnail((730,90), Image.ANTIALIAS)
                        else:
                            obj.thumbnail = '/publicidade/thumbnail/%s.%s'%(obj.id, extensao)
                            miniatura.thumbnail((180,295), Image.ANTIALIAS)
            string = MEDIA_ROOT+''+obj.thumbnail.name
            miniatura.save(string)
            obj.save()



admin.site.register(Publicidade, PublicidadeAdmin)